//===============================================================================
// Microsoft Architecture Strategy Team
// LitwareHR - SaaS Sample Application
//===============================================================================
// Copyright  Microsoft Corporation.  All rights reserved.
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
// FITNESS FOR A PARTICULAR PURPOSE.
//===============================================================================
// The example companies, organizations, products, domain names,
// e-mail addresses, logos, people, places, and events depicted
// herein are fictitious.  No association with any real company,
// organization, product, domain name, email address, logo, person,
// places, or events is intended or should be inferred.
//===============================================================================


namespace Shp.Runtime.DataModel.Sitka.Tests.Mocks
{
    using System;
    using System.Collections.Generic;
    using Shp.Runtime.Contract;
    using Shp.Runtime.DataModel.Sitka.Tests.Entities;

    public static class MockHelper
    {
        public static WorkflowDto GetWorkflowEntityMock()
        {
            WorkflowDto mock = new WorkflowDto();

            mock.Id = Guid.NewGuid();
            mock.Name = "WorkFlowNameTest";
            mock.Xoml = "xoml";

            return mock;
        }

        public static WorkflowDto GetWorkflowUpdatedEntityMock()
        {
            WorkflowDto mock = new WorkflowDto();

            mock.Id = Guid.NewGuid();
            mock.Name = "WorkFlowNameTestUpdated";
            mock.Xoml = "xomlUpdated";

            return mock;
        }

        public static TenantEntity GetTenant()
        {
            TenantEntity tenant = new TenantEntity();
            tenant.Alias = "contoso";
            tenant.Id = Guid.NewGuid();
            tenant.Name = "Contoso Inc.";

            return tenant;
        }

        public static Guid[] GetMockInstancesId()
        {
            List<Guid> list = new List<Guid>();

            list.Add(new Guid("e0a8b535-c84c-4bbb-8cce-77a34d1e1ca1"));

            return list.ToArray();
        }

        public static List<EntityField> GetMockEntityFields()
        {
            List<EntityField> entitiesFields = new List<EntityField>();

            for (int i = 0; i < 5; i++)
            {
                EntityField entity = new EntityField();

                entity.IsShared = true;
                entity.Name = "Code" + i.ToString();
                entity.Value = "value" + i.ToString();

                entitiesFields.Add(entity);
            }
            return entitiesFields;
        }
    }
}
